package paq_negocio;

import com.sun.rowset.CachedRowSetImpl;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import paq_clase_interfaz.interfaz_timbre;
import paq_entidades.enti_profesor;
import paq_entidades.enti_timbre;
import paq_entidades.enti_variables;
import paq_sentencias.Ejecutarsql;

@Stateless
public class neg_timbre implements interfaz_timbre {

    enti_variables v = new enti_variables();
    Ejecutarsql ejec = new Ejecutarsql();
    enti_timbre entidad = new enti_timbre();
    enti_profesor prof = new enti_profesor();

    @Override
    public void insertar(String pr_cedula, String t_entrada, String t_salida, String fecha, String dia, String mes, String estado1) {
        prof.setPe_cedula(pr_cedula);
        entidad.setT_dia(dia);
        entidad.setT_entrada(t_entrada);
        entidad.setT_salida(t_salida);
        entidad.setT_fecha(fecha);
        entidad.setT_mes(mes);
        entidad.setT_estado1(estado1);
        String sql = "insert into timbre (t_codigo,pr_cedula,t_entrada2,t_salida2,t_fecha,t_dia,t_numero_mes,t_estado1) values(concat('ti',tim.NextVal),'" + prof.getPe_cedula() + "',to_date('" + entidad.getT_entrada() + "','yyyy-MM-dd HH24:mi:ss'),to_date('" + entidad.getT_salida() + "','yyyy-MM-dd HH24:mi:ss'),to_date('" + entidad.getT_fecha() + "','yyyy-MM-dd HH24:mi:ss'),'" + entidad.getT_dia() + "','" + entidad.getT_mes() + "','" + entidad.getT_estado1() + "')";
        ejec.ejecutar2(sql);
        v.msm = ejec.getMen();
    }

    @Override
    public void eliminar(String al_codigo) {
    }

    @Override
    public void actualizar(String cod, String pr_cedula, String t_entrada, String t_salida, String fecha, String dia, String mes) {
    }

    @Override
    public CachedRowSetImpl getListatimbre(String cod, Date fecha) {
        try {
            v.crs = (CachedRowSetImpl) ejec.rellena2("select * from timbre ti,profesor pro where pro.pr_cedula=ti.pr_cedula and ti.pr_cedula='" + cod + "' and ti.t_fecha='" + fecha + "'");
        } catch (Exception ex) {
            Logger.getLogger(neg_timbre.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v.crs;
    }

    @Override
    public void actualizarsalida(String pr_cedula, String t_estado2) {
        prof.setPe_cedula(pr_cedula);
        entidad.setT_estado2(t_estado2);
        String sql = "update timbre set t_salida2=(select sysdate from dual),t_estado2='" + entidad.getT_estado2() + "' where pr_cedula= '" + pr_cedula + "' and to_char(t_entrada2,'yyyy-MM-dd')=(select to_char(sysdate,'yyyy-MM-dd') from dual) ";
        ejec.ejecutar2(sql);
    }

    @Override
    public CachedRowSetImpl comprobarentrada(String pr_cedula, String fecha, String estado) {
        try {
            v.crs1 = (CachedRowSetImpl) ejec.rellena2("select ti.PR_CEDULA,ti.T_fecha,ti.T_ESTADO1 from timbre ti  where ti.PR_CEDULA='" + pr_cedula + "' and to_char(ti.T_fecha,'yyyy-MM-dd')='" + fecha + "' and ti.T_ESTADO1='" + estado + "'");
        } catch (Exception ex) {
            Logger.getLogger(neg_timbre.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v.crs1;
    }

    @Override
    public CachedRowSetImpl comprobarsalida(String pr_cedula, String fecha, String estado) {
        try {
            v.crs2 = (CachedRowSetImpl) ejec.rellena2("select ti.PR_CEDULA,ti.T_fecha,ti.T_ESTADO2 from timbre ti  where ti.PR_CEDULA='" + pr_cedula + "' and to_char(ti.T_fecha,'yyyy-MM-dd')='" + fecha + "' and ti.T_ESTADO2='" + estado + "'");
        } catch (Exception ex) {
            Logger.getLogger(neg_timbre.class.getName()).log(Level.SEVERE, null, ex);
        }
        return v.crs2;
    }

    @Override
    public String getmensajei() {
        String sdr = "";
        sdr = v.msm;
        return sdr;
    }

    @Override
    public void insertar_cronogramas_dictados(String crd_codigo) {
        entidad.setT_codigo(crd_codigo);
        String sql = "insert into cronogramas_dictados (crd_codigo,fd_codigo) values(concat('dc',dictados.NextVal),'" + entidad.getT_codigo() + "')";
        ejec.ejecutar2(sql);
        v.msm = ejec.getMen();
    }
}
